package com.clhbolg.service;

import com.clhbolg.domain.bo.TalkBo;
import com.clhbolg.domain.vo.TalkVo;
import com.clhbolg.model.dto.TalkAdminDTO;
import com.clhbolg.model.dto.TalkDTO;
import com.clhbolg.model.vo.request.ConditionVO;
import com.clhbolg.model.vo.request.TalkVO;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 【请填写功能名称】Service接口
 *
 * @author cailinhu
 * @date 2023-02-08
 */
public interface ITalkService {

    /**
     * 查询【请填写功能名称】
     */
    TalkVo queryById(Long id);

    /**
     * 查询【请填写功能名称】列表
     */
    TableDataInfo<TalkVo> queryPageList(TalkBo bo, PageQuery pageQuery);

    /**
     * 查询【请填写功能名称】列表
     */
    List<TalkVo> queryList(TalkBo bo);

    /**
     * 新增【请填写功能名称】
     */
    Boolean insertByBo(TalkBo bo);

    /**
     * 修改【请填写功能名称】
     */
    Boolean updateByBo(TalkBo bo);

    /**
     * 校验并批量删除【请填写功能名称】信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    TableDataInfo<TalkDTO> listTalks(PageQuery pageQuery);

    void saveOrUpdateTalk(TalkVO talkVO);

    TableDataInfo<TalkAdminDTO> listBackTalks(ConditionVO conditionVO,PageQuery pageQuery);

    TalkAdminDTO getBackTalkById(Integer talkId);

    void deleteTalkById(Integer talkId);
}
